Game Engine
   HOME

TheInfoList



OR:

A game engine is a software framework primarily designed for the development of
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s and generally includes relevant
libraries A library is a collection of Document, materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or electronic media, digital access (soft copies) materials, and may be a ...
and support programs. The "engine" terminology is similar to the term "
software engine A software engine is a core component of a complex software system. Alternate phrases include "software core" and "software core engine", or just "core engine". The word "engine" is a metaphor of a car's engine. Thus a software engine is a compl ...
" used in the
software industry The software industry includes businesses for development, maintenance and publication of software that are using different business models, mainly either "license/maintenance based" (on-premises) or "Cloud based" (such as SaaS, PaaS, IaaS, MBa ...
. The game engine can also refer to the development software utilizing this framework, typically offering a suite of tools and features for developing games. Developers can use game engines to construct games for video game consoles and other types of
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s. The core functionality typically provided by a game engine may include a rendering engine ("renderer") for 2D or 3D
graphics Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture ...
, a
physics engine A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
or
collision detection Collision detection is the computational problem of detecting the intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing fields, primarily in computer grap ...
(and collision response),
sound In physics, sound is a vibration that propagates as an acoustic wave, through a transmission medium such as a gas, liquid or solid. In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by the ...
, scripting, animation,
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech r ...
, networking, streaming,
memory management Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
, threading,
localization Localization or localisation may refer to: Biology * Localization of function, locating psychological functions in the brain or nervous system; see Linguistic intelligence * Localization of sensation, ability to tell what part of the body is a ...
support,
scene graph Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music * Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who rec ...
, and video support for cinematics. Game engine implementers often economize on the process of
game development Video game development (or gamedev) is the process of developing a video game. The effort is undertaken by a developer, ranging from a single person to an international team dispersed across the globe. Development of traditional commercial PC ...
by reusing/adapting, in large part, the same game engine to produce different games or to aid in
porting In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desi ...
games to multiple platforms.


Purpose

In many cases, game engines provide a suite of visual development tools in addition to reusable software components. These tools are generally provided in an
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools ...
to enable simplified, rapid development of games in a data-driven manner. Game-engine developers often attempt to preempt implementer needs by developing
robust Robustness is the property of being strong and healthy in constitution. When it is transposed into a system, it refers to the ability of tolerating perturbations that might affect the system’s functional body. In the same line ''robustness'' ca ...
software suites which include many elements a game developer may need to build a game. Most game-engine suites provide facilities that ease development, such as graphics, sound, physics and
artificial-intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
(AI) functions. These game engines are sometimes called "
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement co ...
" because, as with the
business Business is the practice of making one's living or making money by producing or Trade, buying and selling Product (business), products (such as goods and Service (economics), services). It is also "any activity or enterprise entered into for pr ...
sense of the term, they provide a flexible and reusable software platform which provides all the core functionality needed, right out of the box, to develop a game application while reducing costs, complexities, and time-to-market — all critical factors in the highly competitive video-game industry. Like other types of middleware, game engines usually provide
platform Platform may refer to: Technology * Computing platform, a framework on which applications may be run * Platform game, a genre of video games * Car platform, a set of components shared by several vehicle models * Weapons platform, a system or ...
abstraction, allowing the same game to run on various platforms (including
game consoles A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to a ...
and personal computers) with few, if any, changes made to the game
source-code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
. Often, programmers design game engines with a component-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) game-middleware components. Some game engines comprise a series of loosely connected game middleware components that can be selectively combined to create a custom engine, instead of the more common approach of extending or customizing a flexible integrated product. However achieved, extensibility remains a high priority for game engines due to the wide variety of uses for which they are applied. Despite the specificity of the name "game engine", end-users often re-purpose game engines for other kinds of interactive applications with real-time graphical requirements - such as marketing demos, architectural visualizations,
training simulation In business, training simulation is a virtual medium through which various types of skills can be acquired. Training simulations can be used in a variety of genres; however they are most commonly used in corporate situations to improve business a ...
s, and
model A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
ing environments. Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality needed by games. These engines rely upon the game developer to implement the rest of this functionality or to assemble it from other game-middleware components. These types of engines are generally referred to as a "graphics engine", "rendering engine", or "3D engine" instead of the more encompassing term "game engine". This terminology is inconsistently used, as many full-featured 3D game engines are referred to simply as "3D engines". Examples of graphics engines include:
Crystal Space Crystal Space is a framework for developing 3D applications written in C++ by Jorrit Tyberghein and others. The first public release was on August 26, 1997. It is typically used as a game engine but the framework is more general and can be use ...
, Genesis3D, Irrlicht,
OGRE An ogre (feminine: ogress) is a legendary monster depicted as a large, hideous, man-like being that eats ordinary human beings, especially infants and children. Ogres frequently feature in mythology, folklore, and fiction throughout the world ...
, RealmForge,
Truevision3D Truevision3D was a commercial computer software 3D engine first created as a hobby project by Sylvain Dupont in 1999. With the addition of Arli Mujkic and John Hart, Truevision3D LLC. was formed. The Truevision3D (commonly abbreviated as TV3D) ...
, and Vision Engine. Modern game- or graphics-engines generally provide a
scene graph Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music * Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who rec ...
- an object-oriented representation of the 3D game-world which often simplifies game design and can be used for more efficient rendering of vast virtual worlds. As technology ages, the components of an engine may become outdated or insufficient for the requirements of a given project. Since the complexity of programming an entirely new engine may result in unwanted delays (or necessitate that a project restart from the beginning), an engine-development team may elect to update their existing engine with newer functionality or components.


History

Before game engines, games were typically written as singular entities: a game for the
Atari 2600 The Atari 2600, initially branded as the Atari Video Computer System (Atari VCS) from its release until November 1982, is a home video game console developed and produced by Atari, Inc. Released in September 1977, it popularized microprocesso ...
, for example, had to be designed from the bottom up to make optimal use of the display hardware—this core display routine is today called the
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learn ...
by developers of games for older systems. Other platforms had more leeway, but even when the display was not a concern, memory constraints usually sabotaged attempts to create the data-heavy design that an engine needs. Even on more accommodating platforms, very little could be reused between games. The rapid advance of
arcade Arcade most often refers to: * Arcade game, a coin-operated game machine ** Arcade cabinet, housing which holds an arcade game's hardware ** Arcade system board, a standardized printed circuit board * Amusement arcade, a place with arcade games * ...
hardware—which was the leading edge of the market at the time—meant that most of the code would have to be thrown out afterwards anyway, as later generations of games would use completely different game designs that took advantage of extra resources. Thus most game designs through the 1980s were designed through a hard-coded rule set with a small number of levels and graphics data. Since the
golden age of arcade video games The golden age of arcade video games was the period of rapid growth, technological development and cultural influence of arcade video games, from the late 1970s to the early 1980s. The period began with the release of ''Space Invaders'' in 1978, ...
, it became common for
video game companies The following lists of video game companies are available: * List of video game developers * List of video game publishers * List of indie game developers {{list of lists, video game , listcat=Video game companies Video game companies The foll ...
to develop in-house game engines for use with first-party software. A notable example of an in-house game engine on
home consoles A home video game console is a video game console that is designed to be connected to a display device, such as a television, and an external power source as to play video games. Home consoles are generally less powerful and customizable than ...
in the mid-1980s was the smooth side-scrolling engine developed by
Shigeru Miyamoto is a Japanese video game designer, producer and game director at Nintendo, where he serves as one of its representative directors. Widely regarded as one of the most accomplished and influential designers in the history of video games, he is ...
's team at
Nintendo is a Japanese Multinational corporation, multinational video game company headquartered in Kyoto, Japan. It develops video games and video game consoles. Nintendo was founded in 1889 as by craftsman Fusajiro Yamauchi and originally produce ...
for the Nintendo Entertainment System (NES). The engine they had developed for the side-scrolling
racing game Racing games are a video game genre in which the player participates in a racing competition. They may be based on anything from real-world racing leagues to fantastical settings. They are distributed along a spectrum between more realistic ra ...
''
Excitebike is a motocross racing video game developed and published by Nintendo. In Japan, it was released for the Famicom in 1984 and then ported to arcades as ''Vs. Excitebike'' for the Nintendo Vs. System later that year. In North America, it was init ...
'' (1984) was later employed for the scrolling
platformer A platform game (often simplified as platformer and sometimes called a jump 'n' run game) is a sub-genre of action game, action video games in which the core objective is to move the player character between points in an environment. Platform game ...
''
Super Mario Bros. is a platform game developed and published by Nintendo for the Nintendo Entertainment System (NES). The successor to the 1983 arcade game '' Mario Bros.'' and the first game in the ''Super Mario'' series, it was first released in 1985 for ...
'' (1985). This had the effect of allowing
Mario is a character created by Japanese video game designer Shigeru Miyamoto. He is the title character of the ''Mario'' franchise and the mascot of Japanese video game company Nintendo. Mario has appeared in over 200 video games since his cre ...
to smoothly
accelerate In mechanics, acceleration is the rate of change of the velocity of an object with respect to time. Accelerations are vector quantities (in that they have magnitude and direction). The orientation of an object's acceleration is given by t ...
from a walk to a run, rather than move at a constant speed like in earlier platformers. While third-party game engines were not common up until the rise of
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
in the 1990s, there were several 2D
game creation system A game creation system (GCS) is a consumer-targeted game engine and a set of specialized design tools (and sometimes a light scripting language), engineered for the rapid iteration of user-derived video games. Examples include Novashell and Pie i ...
s produced in the 1980s for independent video game development. These include ''
Pinball Construction Set ''Pinball Construction Set'' is a video game by Bill Budge written for the Apple II. It was originally published in 1982 through Budge's own company, BudgeCo, then was released by Electronic Arts in 1983 along with ports to the Atari 8-bit fami ...
'' (1983),
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
's ''War Game Construction Kit'' (1983), '' Thunder Force Construction'' (1984), '' Adventure Construction Set'' (1984),
Garry Kitchen's GameMaker ''Garry Kitchen's GameMaker'' is an integrated development environment for the Commodore 64, Apple II, and IBM PCs, created by Garry Kitchen and released by Activision in 1985. It is one of the earliest all-in-one game design products aimed at the ...
(1985), '' Wargame Construction Set'' (1986), ''
Shoot-'Em-Up Construction Kit Shoot-'Em-Up Construction Kit (a.k.a. SEUCK) is a game creation system for the Commodore 64, Amiga and Atari ST created by Sensible Software and published by Outlaw (part of Palace Software) in 1987. It allows the user to make simple shoot 'em ups ...
'' (1987), ''
Arcade Game Construction Kit ''Arcade Game Construction Kit'' is a 1988 game creation system for making arcade-style games. It was developed by Mike Livesay and published by Broderbund for the Commodore 64. ''AGCK'' contained four floppy disks. The program uses a joystick ...
'' (1988), and most popularly ASCII's ''
RPG Maker RPG Maker, known in Japan as , is a series of programs for the development of role-playing video games (RPGs) with story-driven elements, created by the Japanese group ASCII, succeeded by Enterbrain. The Japanese name, ''Tsukūru'', is a pun m ...
'' engines from 1998 onward. Klik & Play (1994) is another legacy offering that's still available. The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as
first-person shooter First-person shooter (FPS) is a sub-genre of shooter video games centered on gun and other weapon-based combat in a first-person perspective, with the player experiencing the action through the eyes of the protagonist and controlling the p ...
s with a
first-person shooter engine A first-person shooter engine is a video game engine specialized for simulating 3D environments for use in a first-person shooter video game. First-person refers to the view where the players see the world from the eyes of their characters. Shoot ...
. Epic games, founded by developer Tim Sweeney, debuted Unreal Engine in the year 1998. Such was the popularity of
Id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
's ''
Doom Doom is another name for damnation. Doom may also refer to: People * Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed * Daniel Doom (born 1934), Belgian cyclist * Debbie Doom (born 1963), American softball pitcher * ...
'' and '' Quake'' games that, rather than work from scratch, other developers licensed the core portions of the software and designed their own graphics, characters, weapons and
level Level or levels may refer to: Engineering *Level (instrument), a device used to measure true horizontal or relative heights *Spirit level, an instrument designed to indicate whether a surface is horizontal or vertical *Canal pound or level *Regr ...
s—the "game content" or "game assets". Separation of game-specific rules and data from basic concepts like
collision detection Collision detection is the computational problem of detecting the intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing fields, primarily in computer grap ...
and game entity meant that teams could grow and specialize. Later games, such as
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
's ''
Quake III Arena ''Quake III Arena'' is a 1999 multiplayer-focused first-person shooter developed by id Software. The third installment of the ''Quake'' series, ''Arena'' differs from previous games by excluding a story-based single-player mode and focusing prima ...
'' and Epic Games's 1998 ''
Unreal Unreal may refer to: Books and TV * ''Unreal'' (short story collection), a 1985 book of short stories by Paul Jennings * ''Unreal'' (TV series), a 2015 television drama series on Lifetime Computing and games * ''Unreal'' (video game series), ...
'' were designed with this approach in mind, with the engine and content developed separately. The practice of licensing such
technology Technology is the application of knowledge to reach practical goals in a specifiable and reproducible way. The word ''technology'' may also mean the product of such an endeavor. The use of technology is widely prevalent in medicine, science, ...
has proved to be a useful auxiliary revenue stream for some game developers, as one license for a high-end commercial game engine can range from US$10,000 to millions of dollars, and the number of licensees can reach several dozen companies, as seen with the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of g ...
. At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive
video game industry The video game industry encompasses the development, marketing, and monetization of video games. The industry encompasses dozens of job disciplines and thousands of jobs worldwide. The video game industry has grown from niches to mainstrea ...
. While there was a strong rivalry between Epic and id around 2000, since then Epic's
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of g ...
has been far more popular than
id Tech 4 id Tech 4, popularly known as the ''Doom 3'' engine, is a game engine developed by id Software and first used in the video game ''Doom 3''. The engine was designed by John Carmack, who also created previous game engines, such as those for '' Do ...
and its successor
id Tech 5 id Tech 5 is a proprietary game engine developed by id Software. It followed its predecessors, id Tech 1, 2, 3 and 4, all of which had subsequently been published under the GNU General Public License. It was seen as a major advancement over ...
. Modern game engines are some of the most complex applications written, often featuring dozens of finely tuned systems interacting to ensure a precisely controlled user experience. The continued evolution of game engines has created a strong separation between rendering, scripting, artwork, and
level design In video games, a level (also referred to as a map, stage, or round in some older games) is any space available to the player during the course of completion of an objective. Video game levels generally have progressively-increasing difficulty t ...
. It is now common, for example, for a typical game development team to have several times as many artists as actual programmers. First-person shooter games remain the predominant users of third-party game engines, but they are now also being used in other
genres Genre () is any form or type of communication in any mode (written, spoken, digital, artistic, etc.) with socially-agreed-upon conventions developed over time. In popular usage, it normally describes a category of literature, music, or other for ...
. For example, the role-playing video game '' The Elder Scrolls III: Morrowind'' and the MMORPG ''
Dark Age of Camelot ''Dark Age of Camelot'' is a massively multiplayer online role-playing game released in October 2001 in North America, and in January 2002 in Europe. The game combines Arthurian lore, Norse mythology, and Celtic mythology, Irish Celtic legends wi ...
'' are based on the
Gamebryo Gamebryo (; ; formerly NetImmerse until 2003) is a game engine developed by Gamebase Co., Ltd. and Gamebase USA, that incorporates a set of tools and plugins including run-time libraries, supporting video game developers for numerous cross-pl ...
engine, and the MMORPG ''
Lineage II ''Lineage II'' is a massively multiplayer online role-playing game (MMORPG) for Microsoft Windows and the second game in the ''Lineage'' series. It is a prequel to ''Lineage'' and is set 150 years before the first game. It has become popular sinc ...
'' is based on the Unreal Engine. Game engines are used for games originally developed for home consoles as well; for example, the
RenderWare RenderWare is a video game engine developed by British game developer Criterion Software. Overview Released in 1993, RenderWare is a 3D computer graphics, 3D Application programming interface, API and graphics rendering Game engine#Game middlewa ...
engine is used in the ''
Grand Theft Auto ''Grand Theft Auto'' (''GTA'') is a series of action-adventure games created by David Jones and Mike Dailly. Later titles were developed under the oversight of brothers Dan and Sam Houser, Leslie Benzies and Aaron Garbut. It is primarily d ...
'' and '' Burnout'' franchises. Threading is taking on more importance due to modern multi-core systems (e.g.
Cell Cell most often refers to: * Cell (biology), the functional basic unit of life Cell may also refer to: Locations * Monastic cell, a small room, hut, or cave in which a religious recluse lives, alternatively the small precursor of a monastery ...
) and increased demands in realism. Typical threads involve rendering, streaming, audio, and physics. Racing games have typically been at the forefront of threading with the physics engine running in a separate thread long before other core subsystems were moved, partly because rendering and related tasks need updating at only 30–60 Hz. For example, on PlayStation 3, physics ran in ''
Need For Speed ''Need for Speed'' (''NFS'') is a racing game franchise published by Electronic Arts and currently developed by Criterion Games, the developers of ''Burnout''. The series generally centers around illicit street racing and tasks players to co ...
'' at 100 Hz versus ''
Forza Motorsport 2 ''Forza Motorsport 2'' is a 2007 simulation racing video game developed by Turn 10 Studios for the Xbox 360 console. It is the second title in the '' Forza'' series, and is the sequel to the original '' Forza Motorsport'' (2005) and was followed ...
'' at 360 Hz. Although the term was first used in the 1990s, there are a few earlier systems in the 1980s that are also considered to be game engines, such as Sierra's Adventure Game Interpreter (AGI) and SCI systems, LucasArts' SCUMM system and
Incentive Software Incentive Software Ltd. was a British video game developer and publisher founded by Ian Andrew in 1983. Programmers included Sean Ellis, Stephen Northcott and Ian's brother Chris Andrew. Later games were based on the company's Freescape rende ...
's Freescape engine (in 1986). Unlike most modern game engines, these game engines were never used in any third-party products (except for the SCUMM system which was licensed to and used by Humongous Entertainment). As game engine technology matures and becomes more user-friendly, the application of game engines has broadened in scope. They are now being used for
serious game A serious game or applied game is a game designed for a primary purpose other than pure entertainment. The "serious" adjective is generally prepended to refer to video games used by industries like defense, education, scientific exploration, he ...
s: visualization, training, medical, and
military simulation Military simulations, also known informally as war games, are simulations in which theories of warfare can be tested and refined without the need for actual hostilities. Military simulations are seen as a useful way to develop tactical, strateg ...
applications, with the
CryEngine CryEngine (stylized as CRYENGINE) is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in ''Far Cry'', and continues to be updated to support new consoles and ...
being one example. To facilitate this accessibility, new hardware platforms are now being targeted by game engines, including
mobile phone A mobile phone, cellular phone, cell phone, cellphone, handphone, hand phone or pocket phone, sometimes shortened to simply mobile, cell, or just phone, is a portable telephone that can make and receive calls over a radio frequency link whil ...
s (e.g. Android phones, iPhone) and
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
s (e.g.
WebGL WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
, Shockwave,
Flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * Flash (DC Comics character), several DC Comics superheroes with super speed: ** Flash (Barry Allen) ** Flash (Jay Garrick) ** Wally West, the first Kid F ...
,
Trinigy Trinigy was a German software development company. In the second half of 2007, Trinigy expanded to the US and founded a fully owned subsidiary in Austin, TX. The US office is headed by Daniel J. Conradie, one of the original founders of Trinigy. ...
's WebVision,
Silverlight Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...
, Unity Web Player,
O3D O3D is an open-source (BSD license) JavaScript APIO3D Project Page
from Google Code
created by DHTML Dynamic HTML, or DHTML, is a term which was used by some browser vendors to describe the combination of HTML, style sheets and client-side scripts (JavaScript, VBScript, or any other supported scripts) that enabled the creation of interactive ...
). Additionally, more game engines are being built upon higher level languages such as
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
and C#/ .NET (e.g. TorqueX, and Visual3D.NET), Python (
Panda3D Panda3D is a game engine that includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games. Panda3D is free, open-source software under the revised BSD license. Panda3D's intended game-development ...
), or Lua Script (Leadwerks). As most 3D rich games are now mostly
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
-limited (i.e. limited by the power of the graphics card), the potential slowdown due to translation overheads of higher level languages becomes negligible, while the productivity gains offered by these languages work to the game engine developers' benefit. These recent trends are being propelled by companies such as
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
to support
indie Indie is a short form of "independence" or "independent"; it may refer to: Arts, entertainment, and media Gaming *Independent video game development, video games created without financial backing from large companies *Indie game, any game (board ...
game development. Microsoft developed XNA as the SDK of choice for all video games released on Xbox and related products. This includes the Xbox Live Indie Games channel designed specifically for smaller developers who don't have the extensive resources necessary to box games for sale on retail shelves. It is becoming easier and cheaper than ever to develop game engines for platforms that support managed frameworks.


Game engines as an industry

Producers of game engines decide how they allow users to utilize their products. Just as gaming is an industry, so are the engines they are built off. The major game engines come at varying prices, whether it be in the form of subscription fees or license payments. The
Unity engine Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a varie ...
and the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of g ...
are currently the two most popular choices for game developers. Although the differences among the different game engines blur as they build their own tools on top of them, different game developers may be too used to a system to change, or attracted by the huge benefits of such engines regardless of pay-walls.


Game middleware

In the broader sense of the term, game engines themselves can be described as middleware. In the context of video games, however, the term "middleware" is often used to refer to subsystems of functionality within a game engine. Some game middleware does only one thing but does it more convincingly or more efficiently than general purpose middleware. The four most widely used middleware packages that provide subsystems of functionality include RAD Game Tools' Bink, Firelight FMOD, Havok, and
Scaleform Scaleform Corporation is a developer providing middleware for use in the video game industry. As a result of Autodesk's acquisition of the company in March 2011, Scaleform has become part of the Autodesk Gameware line of middleware. Products ...
GFx. RAD Game Tools develops Bink for basic video rendering, along with Miles audio, and Granny 3D rendering. Firelight FMOD is a low cost robust audio library and toolset. Havok provides a robust physics simulation system, along with a suite of animation and behavior applications. ''
Scaleform Scaleform Corporation is a developer providing middleware for use in the video game industry. As a result of Autodesk's acquisition of the company in March 2011, Scaleform has become part of the Autodesk Gameware line of middleware. Products ...
'' provides GFx for high performance
Flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * Flash (DC Comics character), several DC Comics superheroes with super speed: ** Flash (Barry Allen) ** Flash (Jay Garrick) ** Wally West, the first Kid F ...
UI and high-quality video playback, and an
Input Method Editor An input method (or input method editor, commonly abbreviated IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse o ...
(IME) add-on for in-game Asian chat support. Other middleware is used for performance optimisation - for example '
Simplygon Simplygon is 3D computer graphics software for automatic 3D optimization, based on proprietary methods for creating levels of detail (LODs) through Polygon mesh reduction and other optimization techniques. Since the launch of Simplygon, the pro ...
' helps to optimise and generate level of detail meshes, and '
Umbra The umbra, penumbra and antumbra are three distinct parts of a shadow, created by any light source after impinging on an opaque object. Assuming no diffraction, for a collimated beam (such as a point source) of light, only the umbra is cast. T ...
' adds
occlusion culling In 3D computer graphics, hidden-surface determination (also known as shown-surface determination, hidden-surface removal (HSR), occlusion culling (OC) or visible-surface determination (VSD)) is the process of identifying what surfaces and parts o ...
optimisations to 3d graphics. Some middleware contains full
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
, others just provide an
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
reference for a compiled binary
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
. Some middleware programs can be licensed either way, usually for a higher fee for full source code.


See also

*
List of game engines Game engines are tools available for game designers to code and plan out a video game quickly and easily without building one from the ground up. Whether they are 2D or 3D based, they offer tools to aid in asset creation and placement. Engines ...
*
List of first-person shooter engines This is a sortable list of first-person shooter engines. Early first-person shooter graphics engines Early 1990s: wireframes to 2.5D worlds and textures Mid 1990s: 3D models, beginnings of hardware acceleration Late 1990s: 32-bit color, G ...
* List of game middleware *
Game physics Computer animation physics or game physics are laws of physics as they are defined within a simulation or video game, and the programming logic used to implement these laws. Game physics vary greatly in their degree of similarity to real-world phy ...
*
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
*
Virtual studio On-set virtual production (OSVP) or also known as virtual production or virtual studio is a technology for television and film production in which LED panels are used as a backdrop for a set, on which video or computer generated imagery can be di ...
*
Authoring system An authoring system is a program that has pre-programmed elements for the development of interactive multimedia software titles. Authoring systems can be defined as software that allows its user to create multimedia applications for manipulating m ...


References

{{Authority control Video game development